The present invention is directed to digital circuits and, more particularly, to a random number generator with one or more repeatedly activated oscillators.
Random number generators (RNGs) are frequently needed in processors and other electronic devices, especially those that use encryption or other security applications, where the random number is used for example as an encryption key. The expression true random numbers refers to non-deterministic numbers or sequences of numbers that are sufficiently unpredictable for the purposes for which they are used. A pseudorandom number generator (PRNG), on the other hand, generates number sequences that exhibit sufficient statistical randomness for some purposes but are generated by a process that is deterministic and may even be repeated precisely, such as for test purposes.
The use of random numbers in many applications, especially encryption or other security applications, requires a high degree of statistical randomness and protection from attack for which a PRNG is insufficiently truly random. A true random number generator (TRNG) is the expression used for number generation that is unpredictable, at least in theory. Physical phenomena are often used in hardware TRNGs by an analog module that generates a random bit stream using a physical noise source, such as thermal noise, photoelectric effects or atomic quantum phenomena. However, it is often costly and inconvenient to incorporate the analog sensors for such phenomena, with associated analog amplifiers and analog-to-digital converters (ADCs), in processor units that are essentially digital.
Conventional pure digital RNGs are often deterministic, therefore are not TRNGs, and thus are easier to attack. The present invention provides a TRNG are that uses simple logic circuit elements, has low power consumption and is compatible with digital data processors.